翻訳と辞書 |
Priority inversion : ウィキペディア英語版 | Priority inversion
In computer science, priority inversion is a problematic scenario in scheduling in which a high priority task is indirectly preempted by a medium priority task effectively "inverting" the relative priorities of the two tasks. This violates the priority model that high priority tasks can only be prevented from running by higher priority tasks and briefly by low priority tasks which will quickly complete their use of a resource shared by the high and low priority tasks. ==Example of a priority inversion== Consider two tasks ''H'' and ''L'', of high and low priority respectively, either of which can acquire exclusive use of a shared resource ''R''. If ''H'' attempts to acquire ''R'' after ''L'' has acquired it, then ''H'' becomes blocked until ''L'' relinquishes the resource. Sharing an exclusive-use resource (''R'' in this case) in a well-designed system typically involves ''L'' relinquishing ''R'' promptly so that ''H'' (a higher priority task) does not stay blocked for excessive periods of time. Despite good design, however, it is possible that a third task ''M'' of medium priority (''p''(''L'') < ''p''(''M'') < ''p''(''H''), where ''p''(''x'') represents the priority for task ''x'') becomes runnable during ''Ls use of ''R''. At this point, ''M'' being higher in priority than ''L'' preempts ''L'', causing ''L'' to not be able to relinquish ''R'' promptly, in turn causing ''H''—the highest priority process—to be unable to run. This is called ''priority inversion'' where a higher priority task is preempted by a lower priority one.
抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Priority inversion」の詳細全文を読む
スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース |
Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.
|
|